﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace AppAcc.Models
{
    //public class DoiTac
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public int NhomDoiTacId { get; set; }
    //    public string TenDoiTac { get; set; }
    //    public string DiaChi { get; set; }
    //    public string NguoiLienHe { get; set; }
    //    public string MaSoThue { get; set; }
    //    public string DienThoai { get; set; }
    //    public string Fax { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<ChungTu> ChungTus { get; set; }
    //    public virtual NhomDoiTac NhomDoiTac { get; set; }
    //    public virtual List<SoDuDoiTac> SoDuDoiTacs { get; set; }
    //}

    //public class DonViTinh
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenDonViTinh { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<HangHoa> HangHoas { get; set; }
    //    public virtual List<TaiSan> TaiSans { get; set; }
    //}
    //public class HangHoa
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenHangHoa { get; set; }
    //    public int LoaiHangId { get; set; }
    //    public Nullable<int> DonViTinhId { get; set; }
    //    public Nullable<decimal> SoLuong { get; set; }
    //    public string DienGiai { get; set; }
    //    public Nullable<decimal> GiaBQGQ { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //    public virtual DonViTinh DonViTinh { get; set; }
    //    public virtual LoaiHang LoaiHang { get; set; }
    //}
    //public class KhoHang
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenKhoHang { get; set; }
    //    public string DiaChi { get; set; }
    //    public int LoaiKhoHangId { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //    public virtual LoaiKhoHang LoaiKhoHang { get; set; }
    //}
    //public class LoaiHang
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenLoaiHang { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<HangHoa> HangHoas { get; set; }
    //}
    //public class LoaiKhoHang
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenLoaiKhoHang { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<KhoHang> KhoHangs { get; set; }
    //}
    //public class NhanVien
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenNhanVien { get; set; }
    //    public string ChucVu { get; set; }
    //    public string DienThoai { get; set; }
    //    public string DiaChi { get; set; }
    //    public string DienGiai { get; set; }
    //    public string MaSoThue { get; set; }
    //    public string TaiKhoanNganHang { get; set; }

    //    public virtual List<ChungTu> ChungTus { get; set; }
    //}
    //public class NhomDoiTac
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenNhomDoiTac { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<DoiTac> DoiTacs { get; set; }
    //}

    //public class NhomThueHangHoa
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenThue { get; set; }
    //    public string DienGiai { get; set; }
    //    public int LoaiThue { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //}


    
    //public class PhongBan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenPhongBan { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //}
    //public class NhomTaiSan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenNhomTaiSan { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<TaiSan> TaiSans { get; set; }
    //}
    //public class TaiSan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenTaiSan { get; set; }
    //    public int NhomTaiSanId { get; set; }
    //    public Nullable<int> DonViTinhId { get; set; }
    //    public string NamSanXuat { get; set; }
    //    public System.DateTime NgayTinhKhauHao { get; set; }
    //    public string NamSuDung { get; set; }
    //    public int ThoiGianKhauHao { get; set; }
    //    public decimal GiaTriKhauHao { get; set; }
    //    public int TiLeKhauHao { get; set; }
    //    public string DienGiai { get; set; }
    //    public Nullable<int> TrangThai { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //    public virtual DonViTinh DonViTinh { get; set; }
    //    public virtual NhomTaiSan NhomTaiSan { get; set; }
    //}
    
    //public class ChungTu
    //{
    //    [Key]
    //    public string Id { get; set; }
    //    public string SoChungTuGoc { get; set; }
    //    public System.DateTime NgayChungTu { get; set; }
    //    public System.DateTime NgayLapPhieu { get; set; }
    //    public int NhanVienId { get; set; }
    //    public int DoiTacId { get; set; }
    //    public decimal TongTien { get; set; }
    //    public string NoiDung { get; set; }
    //    public int TrangThai { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //    public virtual DoiTac DoiTac { get; set; }
    //    public virtual NhanVien NhanVien { get; set; }
    //}
    //public class ChungTuChiTiet
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public decimal Id { get; set; }
    //    public string ChungTuId { get; set; }
    //    public string TaiKhoanNo { get; set; }//Tai khoan No
    //    public string TaiKhoanCo { get; set; }//Tai khoan Co
    //    public Nullable<decimal> SoTien { get; set; }
    //    public Nullable<int> SoLuong { get; set; }
    //    public Nullable<decimal> Gia { get; set; }
    //    public Nullable<int> HangHoaId { get; set; }
    //    public Nullable<int> TaiSanId { get; set; }
    //    public Nullable<int> PhongBanId { get; set; }
    //    public Nullable<int> KhoHangId { get; set; }
    //    public Nullable<int> NhomThueHangHoaId { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual ChungTu ChungTu { get; set; }
    //    public virtual HangHoa HangHoa { get; set; }
    //    public virtual KhoHang KhoHang { get; set; }
    //    public virtual NhomThueHangHoa NhomThueHangHoa { get; set; }
    //    public virtual PhongBan PhongBan { get; set; }
    //    [ForeignKey("TaiKhoanNo")]
    //    public virtual TaiKhoan TaiKhoan { get; set; }
    //    [ForeignKey("TaiKhoanCo")]
    //    public virtual TaiKhoan TaiKhoan1 { get; set; }
    //    public virtual TaiSan TaiSan { get; set; }
    //}
    //public class TaiKhoan
    //{
    //    [Key]
    //    public string Id { get; set; }
    //    public string TenTaiKhoan { get; set; }
    //    public string TaiKhoanCapTren { get; set; }
    //    public string DienGiai { get; set; }
    //    public Nullable<int> TrangThai { get; set; }
    //    public int LoaiTaiKhoanId { get; set; }

    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets { get; set; }
    //    public virtual List<ChungTuChiTiet> ChungTuChiTiets1 { get; set; }
    //    public virtual LoaiTaiKhoan LoaiTaiKhoan { get; set; }
    //    public virtual List<SoDuTaiKhoan> SoDuTaiKhoans { get; set; }
    //}
    //public class LoaiTaiKhoan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenLoaiTaiKhoan { get; set; }
    //    public virtual List<TaiKhoan> TaiKhoans { get; set; } 
    //}
    //public class ThongTinDonViKeToan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenDonVi { get; set; }
    //    public string DiaChi { get; set; }
    //    public string DienThoai { get; set; }
    //    public string WebSite { get; set; }
    //    public string MaSoThue { get; set; }
    //    public string GiayPhepDKKD { get; set; }
    //    public string DonViCap { get; set; }
    //    public byte[] Hinh { get; set; }
    //    public string HinhPath { get; set; }
    //    public string HomThu { get; set; }
    //    public string Fax { get; set; }
    //    public string SoTaiKhoan { get; set; }
    //    public System.DateTime CapNgay { get; set; }
    //    public System.DateTime NgayDangKySuDung { get; set; }
    //    public string GiamDoc { get; set; }
    //    public string KeToanTruong { get; set; }
    //    public string KeToanTongHop { get; set; }
    //    public string ThuQuy { get; set; }
    //    public string ThuKho { get; set; }
    //    public string NguoiLapPhieu { get; set; }
    //    public Nullable<bool> ChoPhepChiAmQuy { get; set; }
    //    public Nullable<int> PhuongPhapXuatKho { get; set; }
    //    public Nullable<bool> ChoPhepXuatKhoAm { get; set; }
    //    public Nullable<bool> InPhieuNhapKhoCothue { get; set; }
    //    public string MauSoHoaDon { get; set; }
    //    public string KyHieuHoaDon { get; set; }
    //    public string UrlXuatFileBaoCaoExcel { get; set; }
    //    public Nullable<int> QuyDinh { get; set; }
    //    public Nullable<int> DongTienHoachToanId { get; set; }
    //    public int KieuTepExcel { get; set; }
    //    public string DataBaseName { get; set; }
    //    public string ServerName { get; set; }
    //    public string uid { get; set; }
    //    public string pwd { get; set; }
    //    public int HinhThucGhiSo { get; set; }
    //    public Nullable<int> ChuKyKhauHao { get; set; }
    //    public Nullable<int> PhuongPhapKhauHao { get; set; } 

    //    public virtual DongTienHoachToan DongTienHoachToan { get; set; }
    //    public virtual List<UserAccount> UserAccounts { get; set; }
    //}
    //public class SoDuTaiKhoan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public decimal Id { get; set; }
    //    public string MaTaiKhoan { get; set; }
    //    public Nullable<decimal> SoDuNo { get; set; }
    //    public Nullable<decimal> SoDuCo { get; set; }
    //    public System.DateTime ThoiGian { get; set; }

    //    public virtual TaiKhoan TaiKhoan { get; set; }
    //}
    //public class SoDuDoiTac
    //{
    //    public int Id { get; set; }
    //    public int DoiTacId { get; set; }
    //    public decimal SoDuDauKy { get; set; }
    //    public decimal SoDuCuoiKy { get; set; }
    //    public System.DateTime ThoiGian { get; set; }

    //    public virtual DoiTac DoiTac { get; set; }
    //}
    //public class UserAccount
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string UserName { get; set; }
    //    public string FullName { get; set; }
    //    public string PassWord { get; set; }
    //    public System.DateTime DateTimeRegister { get; set; }
    //    public bool Active { get; set; }
    //    public Nullable<int> PhanQuyenId { get; set; }
    //    public int ThongTinDonViKeToanId { get; set; }

    //    public virtual PhanQuyen PhanQuyen { get; set; }
    //    public virtual ThongTinDonViKeToan ThongTinDonViKeToan { get; set; }
    //}
    //public class PhanQuyen
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenQuyen { get; set; }
    //    public string DienGiai { get; set; }

    //    public virtual List<UserAccount> UserAccounts { get; set; }
    //}
    //public class DongTienHoachToan
    //{
    //    [Key]
    //    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    //    public int Id { get; set; }
    //    public string TenTienTe { get; set; }
    //    public string KyHieu { get; set; }
    //    public double TiLeSoVoiTienViet { get; set; }

    //    public virtual List<ThongTinDonViKeToan> ThongTinDonViKeToans { get; set; }
    //}
}
